/**
 * 对传入的数据执行+1操作，这个位置只能使用数值，传入其他类型的值就会报错。
 * @param n 待增加的基础值
 * @returns +1后的结果
 */
function addOne(n: number) {
  return n + 1;
}

console.log(addOne(10));
// 会提示报错
// addOne('h2llo')

// JavaScript 的类型系统非常弱，没有使用限制，运算符可以接受各种类型的值。
// 例一
let x = 1;
// 在ts中报错，TypeScript 已经推断确定了类型，后面就不允许再赋值为其他类型的值
x = "hello";

// 例二
let y = { foo: 1 };
// 在ts中报错
delete y.foo;
y.bar = 2;

let obj = { message: "" };
// 不小心把message拼错了，写成messege。TypeScript 就会报错，指出没有定义过这个属性。
console.log(obj.messege); // 报错

const a = 0;
const b = true;
const result = a + b; // 报错

function hello() {
  return "hello world";
}
// hello()返回的是一个字符串，TypeScript 发现字符串没有find()方法，所以报错了。
hello().find("hello"); // 报错
